package daoImpl;

import java.util.List;

import javax.persistence.criteria.CriteriaQuery;

import classes.Assinatura;
import dao.IAssinaturaDAO;

public class AssinaturaDAOImpl extends GenericDAOImpl<Assinatura> implements IAssinaturaDAO{

	@Override
	public void inserir(Assinatura entidade) {
		//Assinatura assinatura = new Assinatura();
		this.getManager().getTransaction().begin();
		this.getManager().persist(entidade);
		this.getManager().getTransaction().commit();	
		
	}

	@Override
	public void atualizar(Assinatura entidade) {
		this.getManager().getTransaction().begin();
		this.getManager().merge(entidade);
		this.getManager().getTransaction().commit();
		
	}

	@Override
	public void remover(Integer id) {
		Assinatura assinatura_encontrada = this.getManager().find(Assinatura.class,id);
		this.getManager().getTransaction().begin();
		this.getManager().remove(assinatura_encontrada);
		this.getManager().getTransaction().commit();
		
	}

	@Override
	public List<Assinatura> consultarTodos() {
		List<Assinatura> lista = this.getManager().createQuery("select*from assinatura" ).getResultList();		
		return lista;
	}

	@Override
	public Assinatura consultarPorId(Integer id) {
		Assinatura assinatura_encontrada = this.getManager().find(Assinatura.class,id);
		return assinatura_encontrada;
	}

}
